1. Field of the Invention
The present invention relates to a method for mass online publishing web sites and/or similar tasks performed in shared hosting environments.
2. Description of the Related Art
In shared hosting infrastructure there are some complex tasks that are performed on the hoster's server side while the user describe the task and sends command to the server using simple client software such as web browser or more specific software such as a site builder or a Presence Builder marketed by Parallels®. Typically, web site publishing is a complex task that takes an unpredictable amount of time. A web site content can be created either by transferring files via the file transfer protocol (ftp) from one server to another or by generating dynamic content on the hoster's server from predefined templates, by executing scripts or the like, or by updating a database. The databases can be updated either by connecting a new user to a shared databases or by sorting and updating content of a private databases of the previously published web site.
The databases may contain a data to be used directly or after digital processing and callable scripts. Some other web site-related tasks that can take a long time, for example, backup of a web site and restoration of a web site from a snapshot. This time depends on a web site private area size. If the site contains one redirection string (i.e., a link), it can be done in a short time (e.g., 1 second) after getting a request from a user. The same relates to upgrade of a web site, import of a web site from an old version and generation of web site content reports (statistics).
All of these tasks can take a significant amount of time. In order to protect hosting users from users with long execution tasks, a timeout for tasks execution is implemented on the hosting server. In a shared hosting infrastructure, all services (e.g., http, fastcgi, etc.) may have timeouts. The timeouts are configured by the web server administrators, and the client computer, which issues the request for transferring the files or other tasks, does not usually know about the timeout duration.
Typically, in shared hosting systems, the script execution times are less than a minute for each script. In that way, the scripts of different users are executed simultaneously and randomly and no one user can overload or crash the server. In other words, the limits are set for all PHP scripts on the server. The limits can be the same or can differ for different clients.
Thus, if the process is interrupted by the server timeout, in the conventional art the client needs to initiate it again and the reason for the timeouts is hidden from the client. This way, the client cannot correct script efficiently since he usually gets notification when the complex task has already failed/timed out.
Accordingly, since difficulty and correctness of the tasks' execution cannot be predicted by the users, there is a need in the art for an efficient way for publishing, upgrading and backing up the web sites on remote server using shared hosting in cases of unexpected server timeouts.